package utils

import "github.com/sony/sonyflake"

var (
	sf *sonyflake.Sonyflake
	//err error
)

func getMachineID() (uint16, error) {
	// 这里可以根据实际情况设置机器ID，例如从配置文件读取或者根据服务器IP等信息生成一个唯一的机器ID
	// 简单示例，假设机器ID固定为1
	return 1, nil
}

func init() {
	st := sonyflake.Settings{
		MachineID: getMachineID,
	}
	sf = sonyflake.NewSonyflake(st)
}

func CreateOrder() (int64, error) {
	id, err := sf.NextID()
	if err != nil {
		return 0, err
	}
	return int64(id), nil
}
